package org.example.lanchain.bean;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 预约挂号实体类
 * 
 * @Data 注解自动生成 getter、setter、toString 等方法
 * @AllArgsConstructor 注解生成包含所有字段的构造函数
 * @NoArgsConstructor 注解生成无参构造函数
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Appointment {
    /**
     * 预约记录的唯一标识符
     * 
     * @TableId 注解标记这是数据库表的主键字段
     * type = IdType.AUTO 表示主键由数据库自动生成
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 患者姓名
     */
    private String username;

    /**
     * 患者身份证号
     * 用于唯一标识患者身份
     */
    private String idCard;

    /**
     * 就诊科室
     * 指定患者要就诊的医院科室
     */
    private String department;

    /**
     * 预约日期
     * 格式：YYYY-MM-DD
     */
    private String date;

    /**
     * 预约时间段
     * 具体就诊时间
     */
    private String time;

    /**
     * 医生姓名
     * 指定预约的医生
     */
    private String doctorName;
}